home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
program
/
arp68bk.zoo
/
arp.src
/
pc_vs_ab.s
< prev
next >
Wrap
Text File
|
1985-11-20
|
2KB
|
76 lines
; Program Name: PC_VS_AB.S
; Version: 1.001
; Assembly Instructions:
; Assemble in PC-relative mode and save with a TOS extension.
; Program Function:
; Compares the relative speed and memory requirements of
; "move.b #6, $484"
; to that of
; "lea $484, a0"
; "move.b #6, (a0)".
; The execution time reported is for 50,000 executions of each algorithm.
; Execution Note:
; Invokes traps that are installed by CUSTOM.PRG during boot.
calculate_program_size:
lea -$102(pc), a1 ; Fetch basepage start address.
lea program_end, a0 ; Fetch program end = array address.
trap #6 ; Return unused memory to op system.
lea stack, a7
initialize_registers_1:
lea header_1, a0
lea header_2, a1
lea move_start, a3
lea move_end, a4
lea heading, a5
move.w #50000, d7
trap #9
initialize_registers_2:
lea header_3, a0
lea header_4, a1
lea lea_start, a3
lea lea_end, a4
lea heading, a5
move.b #0, (a5) ; Store a NULL in first byte to create a
move.w #50000, d7 ; null string so that heading gets printed
trap #9 ; only once.
terminate:
trap #8
move_start:
move.b #6, $484
move_end:
lea_start:
lea $484, a0
move.b #6, (a0)
lea_end:
data
heading: dc.b "PC_VS_AB Program Results",$D,$A,$D,$A,0
header_1: dc.b " Elapsed time for move.b #6, $484: ",0
header_2: dc.b " Memory required for first algorithm: ",0
header_3: dc.b $D,$A," Elapsed time for lea $484, a0",$D,$A
dc.b " move.b #6, (a0): ",0
header_4: dc.b " Memory required for second algorithm: ",0
bss
align
label: ds.l 1
ds.l 96
stack: ds.l 0
program_end: ds.l 0
end